An exchange is a central marketplace with established rules and regulations where buyers and sellers meet to trade. Some exchanges, referred to as open outcry exchanges, operate using a trading floor where buyers and sellers physically meet on the floor to trade. Other exchanges, referred to as electronic exchanges, operate by an electronic or telecommunications network instead of a trading floor to facilitate trading in an efficient, versatile, and functionally rich way.
With respect to electronic exchanges, buyers and sellers log onto an electronic exchange through their user terminals. A user terminal usually consists of a personal computer, laptop, or workstation that has a Microsoft Windows-type operating system that provides a graphical interface based on windowed regions on the screen and a pointing device such as a mouse. Certainly, the user terminal may include other types of computing devices and might use other types of operating systems such as a Unix-type operating system to trade in a market.
Once logged onto an electronic exchange, buyers and sellers may typically choose which tradeable objects to trade because an electronic exchange often hosts a variety of electronic markets such that each electronic market represents a different tradeable object. As used herein, the term “tradeable object,” refers simply to anything that can be traded with a quantity and/or price. It includes, but is not limited to, all types of tradable objects such as financial products, which can include, for example, stocks, options, bonds, futures, currency, and warrants, as well as funds, derivatives and collections of the foregoing, and all types of commodities, such as grains, energy, and metals. The tradable object may be “real,” such as products that are listed by an exchange for trading, or “synthetic,” such as a combination of real products that is created by the user. A tradable object could actually be a combination of other tradable object, such as a class of tradable objects.
After a selection of the electronic market(s) is made, traders may access the market's order book that typically lists unexecuted buy and sell orders for the tradeable object. Referring to FIG. 1, an example of the communications that might occur between an electronic exchange and a user terminal is shown. During a trading session, market data 104 in the form of messages is relayed over communication link 108 to user terminal generally indicated as 100. Intermediate devices such as a gateway may be used to facilitate communications over communication link 108.
By way of illustration, market data 104 contains information that characterizes the market's order book and most often includes the inside market, which represents the lowest sell price (also referred to as the best or lowest ask price) and the highest buy price (also referred to as the best or highest bid price). In some electronic markets, market data 104 might also include market depth, which generally refers to quantities available in the market at certain buy price levels and quantities available in the market at certain sell price levels. In addition to providing the market's order book information such as price and quantity information, electronic exchanges can offer other types of market information such as the open price, settlement price, net change, volume, last traded price, the last traded quantity, and order fill information.
As market data 104 is received at user terminal 100, the information may be displayed to the trader on a computer screen 102. Upon viewing the market information or a portion thereof, a trader may wish to take actions such as send orders to a market, cancel orders in the market, change orders in the market, query an exchange, and so on. To do so, the trader may input various commands or signals into the user terminal 100, for example, by using one or more conventional means for inputting information such as typing into a keyboard, inputting commands through a mouse, through a touch-screen, or inputting commands or signals through some other input device generally indicated by 110.
Upon receiving one or more commands or signals from the trader at 110, user terminal 100 may generate messages that reflect the actions taken generally shown as 106. In addition to or in place of manual entry, a trader might use automated trading software that automatically or semi-automatically generates transaction information. Of course, there are many different types of messages and/or order types that can be submitted to an electronic exchange, all of which may be considered various types of transaction information. Once generated, action messages 106 are sent from user terminal 100 to the appropriate electronic market.
It is worth noting that multiple elements of an order must usually be entered prior to an order being sent to market. Such elements or order parameters include, among other things, the desired price, the quantity and whether a buy or a sell order is desired. The more time a trader takes entering an order, the more likely the price on which he wanted to bid or offer will change or not be available in the market. The market is fluid as many traders are sending orders to the market simultaneously. It fact, successful markets strive to have such a high volume of trading that any trader who wishes to enter a market order will find a match and have the order filled quickly, if not immediately. In such liquid markets, the prices may fluctuate rapidly. On a trading screen, this results in rapid changes in the price and quantity fields within the display.
Therefore, recent trading software applications have employed the use of pointing devices to perform multiple actions such as sending an order to market with only one or two clicks of the pointing device. One of the most common pointing devices is a mouse that typically includes a main body, left and right buttons, and more enhanced versions sometimes include a wheel positioned between the left and right buttons. Other types of pointing devices may also be used such as keyboard cursors or trackball, just to name a few. Regardless of the actual pointing device used, a pointer or on-screen cursor in the form of an arrow, or some other identifier, is displayed on the screen and may be used to highlight information, set order parameters, send orders, cancel orders, and so on. The movement of the on-screen cursor is controlled by the relative movement of the pointing device by the user.
A pointer or on-screen cursor are important to traders interested in making fast and accurate trades. For most traders, market data 104 is updated on their screens 102 quickly to reflect fast changes in the market, and therefore, values on the screen 102 move or change at a rapid pace. More often than not, it is up to the trader to quickly and accurately move the on-screen cursor to a desired location to set order parameters or input a buy order or a sell order, for instance. To illustrate this further, FIGS. 2 and 3 show a type of graphical user interface that may be used to trade a particular tradeable object.
FIG. 2 shows a window 200 that would ordinarily be displayed on computer screen 102 to display the market's order book information to the trader. In particular, window 200 shows aggregate buy and sell orders that are currently in the market and such orders correspond to a price along the price column (“Prc”). For instance, the best bid is for a quantity of “20” at a price of “140” and the best ask is for a quantity of “75” at a price of “141.” Other bid and ask quantities are also shown for sake of illustration. Furthermore, included in window 200 is an on-screen cursor in the form of an arrow 202, of course, the on-screen cursor may take any form. Arrow 202 is controlled by the relative movement of a pointer device by the user. For sake of illustration, assume that arrow is placed over the third cell from the top of the price column which for now shows the price of “143.” Using a typical trading application and the trading screen shown in FIG. 2, once the user depresses a button with the cursor hovering over “143” a sell order would be loaded with a preset quantity and would then be waiting for a final command to be sent to the exchange at a price of “143.” In other types of trading applications, the sell order could also be sent to the exchange upon the very same button depression.
FIG. 3 shows the same window 200 as in FIG. 2, only the market conditions have quickly changed such that the inside market has moved up in price. Consequently, the prices have automatically moved to maintain the current inside market prices (e.g., the best ask at “144” and the best bid at “142”) in the center of the window 200. Assuming the user did not move the pointer device during this quick shift in the market, arrow 202 would remain fixed in position on the window and it would now be currently placed over the price of “145.” And just while the trader was reflecting on the previous market conditions shown in FIG. 2, she decided to send a trader order at a price of “143;” (the price over which the cursor was previously positioned). As such, the trader was set in motion to send an order, however, the screen has just been updated to reflect the change in market conditions. Unfortunately, now the cursor is hovering over “145” an order is instead loaded at an undesirable price of “145.” The trader missed her price.
FIGS. 2 and 3 illustrated one price movement in the market on one type of trading display, but one can imagine the many price movements that can occur during a trading session. This requires that the buyer or seller be aware of the price movements at all times, and have the cursor ready to take action, as if the trader intends to enter an order at a particular price, but misses the price because the market prices moved before the order was entered, the trader may lose hundreds, thousands, or hundreds of thousands of dollars. The same might be true if the trader missed an order delete because the price moved away. The faster a trader can trade, the less likely it will be that the trader will miss her price.